home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / amok_lha / amok08.lha / IDCMP / IDCMP.def next >
Text File  |  1993-08-15  |  2KB  |  55 lines

  1. (**********************************************************************
  2.  
  3.     :Program.       IDCMP.def
  4.     :Contents.     Intuition Direct Communication Message Port handler
  5.     :Author.        Nicolas Benezan [bne]
  6.     :Address.    Postwiesenstr. 2, D7000 Stuttgart 60
  7.     :Phone.      711/333679
  8.     :Copyright.  Public Domain
  9.     :Language.      Modula-2
  10.     :Translator. M2Amiga AMSoft
  11.     :ModHistory. V1.1b [bne] 24.10.88
  12.     
  13. **********************************************************************)
  14.  
  15. DEFINITION MODULE IDCMP;
  16.  
  17. FROM Intuition    IMPORT IDCMPFlags,IDCMPFlagSet,WindowPtr;
  18. FROM SYSTEM    IMPORT ADDRESS;
  19. FROM Exec    IMPORT MsgPortPtr;
  20. FROM InputEvent    IMPORT QualifierSet;
  21.  
  22. PROCEDURE GetIntuiMessage(IDCMPort:MsgPortPtr;VAR Class:IDCMPFlags;
  23.     VAR Code:CARDINAL;VAR Qualifier:QualifierSet;
  24.         VAR ItemAdr:ADDRESS;VAR X,Y:INTEGER);
  25. (*:Input.    IDCMPort: Pointer a userPort of a Window
  26.   :Output.    Class,Code,Qualifier: InuiMessage InputEvent parameters
  27.   :Output.    ItemAdr: Address of the IntuiMessage related Item
  28.   :Output.    X,Y: Mouse coordinates
  29.   :Semantic.    Waits for a message at an IDCMPort then gets and
  30.   :Semantic.    replies it *)
  31.  
  32. PROCEDURE PollMessage(IDCMPort:MsgPortPtr;VAR Class:IDCMPFlags;
  33.     VAR Code:CARDINAL;VAR Qualifier:QualifierSet;VAR ItemAdr:ADDRESS;
  34.         VAR X,Y:INTEGER):BOOLEAN;
  35. (*:Input.    IDCMPort: Pointer a userPort of a Window
  36.   :Output.    Class,Code,Qualifier: InuiMessage InputEvent parameters
  37.   :Output.    ItemAdr: Address of the IntuiMessage related Item
  38.   :Output.    X,Y: Mouse coordinates
  39.   :Result.    TRUE: Message recieved, outputs are valid
  40.   :Result.    FALSE: Port was empty, outputs are zero/NIL
  41.   :Semantic.    Gets and replies a message at an IDCMPort
  42.   :Semantic.    Returns FALSE immediately if the Port is empty *)
  43.  
  44. PROCEDURE ActiveFlags(Window:WindowPtr):IDCMPFlagSet;
  45. (*:Input.    Window: Pointer to the Window containing the Port
  46.   :Input.    which is to be examined
  47.   :Result.    Set of the Port's active Flags
  48.   :Semantic.    Returns a Set of the set Flags of an IDCMPort *)
  49.  
  50. PROCEDURE EmptyIDCMP(IDCMPort:MsgPortPtr);
  51. (*:Input.    IDCMPort: Pointer a userPort of a Window
  52.   :Semantic.    Gets and replies all messages at the specified Port *)
  53.  
  54. END IDCMP.
  55.